<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: Ipopt::BacktrackingLineSearch Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.12</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classIpopt_1_1BacktrackingLineSearch.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIpopt_1_1BacktrackingLineSearch-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Ipopt::BacktrackingLineSearch Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>General implementation of a backtracking line search.  
 <a href="classIpopt_1_1BacktrackingLineSearch.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Ipopt::BacktrackingLineSearch:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classIpopt_1_1BacktrackingLineSearch__inherit__graph.png" border="0" usemap="#Ipopt_1_1BacktrackingLineSearch_inherit__map" alt="Inheritance graph"/></div>
<map name="Ipopt_1_1BacktrackingLineSearch_inherit__map" id="Ipopt_1_1BacktrackingLineSearch_inherit__map">
<area shape="rect" title="General implementation of a backtracking line search." alt="" coords="5,244,224,271"/>
<area shape="rect" href="classIpopt_1_1LineSearch.html" title="Base class for line search objects." alt="" coords="47,169,182,196"/>
<area shape="rect" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects." alt="" coords="23,80,206,121"/>
<area shape="rect" href="classIpopt_1_1ReferencedObject.html" title="Storing the reference count of all the smart pointers that currently reference it." alt="" coords="25,5,204,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae8f08335c6bc1e52057c3ae4f33988a9"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae8f08335c6bc1e52057c3ae4f33988a9">InitializeImpl</a> (const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:ae8f08335c6bc1e52057c3ae4f33988a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">InitializeImpl - overloaded from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects.">AlgorithmStrategyObject</a>.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ae8f08335c6bc1e52057c3ae4f33988a9">More...</a><br /></td></tr>
<tr class="separator:ae8f08335c6bc1e52057c3ae4f33988a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff9e255c5d3621ff68abbe97393f2eb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0ff9e255c5d3621ff68abbe97393f2eb">FindAcceptableTrialPoint</a> ()</td></tr>
<tr class="memdesc:a0ff9e255c5d3621ff68abbe97393f2eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the line search.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0ff9e255c5d3621ff68abbe97393f2eb">More...</a><br /></td></tr>
<tr class="separator:a0ff9e255c5d3621ff68abbe97393f2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f93da335cb0a2d7d2eb324664839a9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ac5f93da335cb0a2d7d2eb324664839a9">Reset</a> ()</td></tr>
<tr class="memdesc:ac5f93da335cb0a2d7d2eb324664839a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the line search.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ac5f93da335cb0a2d7d2eb324664839a9">More...</a><br /></td></tr>
<tr class="separator:ac5f93da335cb0a2d7d2eb324664839a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37b965f5bab43374dd0333edbaa7dc65"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a37b965f5bab43374dd0333edbaa7dc65">SetRigorousLineSearch</a> (bool rigorous)</td></tr>
<tr class="memdesc:a37b965f5bab43374dd0333edbaa7dc65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flag indicating whether a very rigorous line search should be performed.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a37b965f5bab43374dd0333edbaa7dc65">More...</a><br /></td></tr>
<tr class="separator:a37b965f5bab43374dd0333edbaa7dc65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3aa80c41e50b2e095f0a29d38aac8fa"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ad3aa80c41e50b2e095f0a29d38aac8fa">CheckSkippedLineSearch</a> ()</td></tr>
<tr class="memdesc:ad3aa80c41e50b2e095f0a29d38aac8fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the line search procedure didn't accept a new iterate during the last call of <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0ff9e255c5d3621ff68abbe97393f2eb" title="Perform the line search.">FindAcceptableTrialPoint()</a>.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ad3aa80c41e50b2e095f0a29d38aac8fa">More...</a><br /></td></tr>
<tr class="separator:ad3aa80c41e50b2e095f0a29d38aac8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4d14f8c923f279b2f62163473e1ff9"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#adf4d14f8c923f279b2f62163473e1ff9">ActivateFallbackMechanism</a> ()</td></tr>
<tr class="memdesc:adf4d14f8c923f279b2f62163473e1ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate fallback mechanism.  <a href="classIpopt_1_1BacktrackingLineSearch.html#adf4d14f8c923f279b2f62163473e1ff9">More...</a><br /></td></tr>
<tr class="separator:adf4d14f8c923f279b2f62163473e1ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f2116a46935214b58e2d6843f17b75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a67f2116a46935214b58e2d6843f17b75">StopWatchDog</a> ()</td></tr>
<tr class="memdesc:a67f2116a46935214b58e2d6843f17b75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop watch dog if started and restore iterate from before watchdog started.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a67f2116a46935214b58e2d6843f17b75">More...</a><br /></td></tr>
<tr class="separator:a67f2116a46935214b58e2d6843f17b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors/Destructors</div></td></tr>
<tr class="memitem:a37bff08e3b57b8cefd2dc1b8bcfc3a89"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a37bff08e3b57b8cefd2dc1b8bcfc3a89">BacktrackingLineSearch</a> (const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1BacktrackingLSAcceptor.html">BacktrackingLSAcceptor</a> &gt; &amp;acceptor, const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RestorationPhase.html">RestorationPhase</a> &gt; &amp;resto_phase, const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a> &gt; &amp;conv_check)</td></tr>
<tr class="memdesc:a37bff08e3b57b8cefd2dc1b8bcfc3a89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a37bff08e3b57b8cefd2dc1b8bcfc3a89">More...</a><br /></td></tr>
<tr class="separator:a37bff08e3b57b8cefd2dc1b8bcfc3a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b08bac93f971abcf854b9d8c97eb304"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a7b08bac93f971abcf854b9d8c97eb304">~BacktrackingLineSearch</a> ()</td></tr>
<tr class="memdesc:a7b08bac93f971abcf854b9d8c97eb304"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a7b08bac93f971abcf854b9d8c97eb304">More...</a><br /></td></tr>
<tr class="separator:a7b08bac93f971abcf854b9d8c97eb304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1LineSearch"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1LineSearch')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1LineSearch.html">Ipopt::LineSearch</a></td></tr>
<tr class="memitem:af2ec1bd039c55a71595069245cd3e1b0 inherit pub_methods_classIpopt_1_1LineSearch"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LineSearch.html#af2ec1bd039c55a71595069245cd3e1b0">LineSearch</a> ()</td></tr>
<tr class="memdesc:af2ec1bd039c55a71595069245cd3e1b0 inherit pub_methods_classIpopt_1_1LineSearch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <a href="classIpopt_1_1LineSearch.html#af2ec1bd039c55a71595069245cd3e1b0">More...</a><br /></td></tr>
<tr class="separator:af2ec1bd039c55a71595069245cd3e1b0 inherit pub_methods_classIpopt_1_1LineSearch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0662e2a2da3485f7378fe3c02457a38 inherit pub_methods_classIpopt_1_1LineSearch"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LineSearch.html#af0662e2a2da3485f7378fe3c02457a38">~LineSearch</a> ()</td></tr>
<tr class="memdesc:af0662e2a2da3485f7378fe3c02457a38 inherit pub_methods_classIpopt_1_1LineSearch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classIpopt_1_1LineSearch.html#af0662e2a2da3485f7378fe3c02457a38">More...</a><br /></td></tr>
<tr class="separator:af0662e2a2da3485f7378fe3c02457a38 inherit pub_methods_classIpopt_1_1LineSearch"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1AlgorithmStrategyObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">Ipopt::AlgorithmStrategyObject</a></td></tr>
<tr class="memitem:aa2cb1ac4ea5b97c9283bc0fdb71da1d1 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aa2cb1ac4ea5b97c9283bc0fdb71da1d1">Initialize</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;ip_nlp, <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;ip_data, <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;ip_cq, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:aa2cb1ac4ea5b97c9283bc0fdb71da1d1 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called every time the algorithm starts again - it is used to reset any internal state.  <a href="classIpopt_1_1AlgorithmStrategyObject.html#aa2cb1ac4ea5b97c9283bc0fdb71da1d1">More...</a><br /></td></tr>
<tr class="separator:aa2cb1ac4ea5b97c9283bc0fdb71da1d1 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac624e5a883f5c655cb0abbaa24eafcf9 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#ac624e5a883f5c655cb0abbaa24eafcf9">ReducedInitialize</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:ac624e5a883f5c655cb0abbaa24eafcf9 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduced version of the Initialize method, which does not require special <a class="el" href="namespaceIpopt.html" title="This file contains a base class for all exceptions and a set of macros to help with exceptions.">Ipopt</a> information.  <a href="classIpopt_1_1AlgorithmStrategyObject.html#ac624e5a883f5c655cb0abbaa24eafcf9">More...</a><br /></td></tr>
<tr class="separator:ac624e5a883f5c655cb0abbaa24eafcf9 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d972f86eec83a96682bd6741a1d265 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#af2d972f86eec83a96682bd6741a1d265">AlgorithmStrategyObject</a> ()</td></tr>
<tr class="memdesc:af2d972f86eec83a96682bd6741a1d265 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <a href="classIpopt_1_1AlgorithmStrategyObject.html#af2d972f86eec83a96682bd6741a1d265">More...</a><br /></td></tr>
<tr class="separator:af2d972f86eec83a96682bd6741a1d265 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea25a150f7488885653c082eca5dab45 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aea25a150f7488885653c082eca5dab45">~AlgorithmStrategyObject</a> ()</td></tr>
<tr class="memdesc:aea25a150f7488885653c082eca5dab45 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classIpopt_1_1AlgorithmStrategyObject.html#aea25a150f7488885653c082eca5dab45">More...</a><br /></td></tr>
<tr class="separator:aea25a150f7488885653c082eca5dab45 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1ReferencedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1ReferencedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1ReferencedObject.html">Ipopt::ReferencedObject</a></td></tr>
<tr class="memitem:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#a5c0f2208e3ead22bf7c5179381ed8203">ReferencedObject</a> ()</td></tr>
<tr class="separator:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#adbbf3aa5307da62ab8224ba599d4bd7a">~ReferencedObject</a> ()</td></tr>
<tr class="separator:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aac517534e10e36c946aeefc6fe337777">ReferenceCount</a> () const</td></tr>
<tr class="separator:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aa69ecb0f026bd741e2fa84c31d4ec332">AddRef</a> (const <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *referencer) const</td></tr>
<tr class="separator:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#ae6c952e7d1a63080dc8f121c008944fc">ReleaseRef</a> (const <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *referencer) const</td></tr>
<tr class="separator:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a8bf0859cf762f870bf270f0c4c87c8fa"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a8bf0859cf762f870bf270f0c4c87c8fa">RegisterOptions</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RegisteredOptions.html">RegisteredOptions</a> &gt; roptions)</td></tr>
<tr class="memdesc:a8bf0859cf762f870bf270f0c4c87c8fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for <a class="el" href="classIpopt_1_1OptionsList.html" title="This class stores a list of user set options.">OptionsList</a>.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a8bf0859cf762f870bf270f0c4c87c8fa">More...</a><br /></td></tr>
<tr class="separator:a8bf0859cf762f870bf270f0c4c87c8fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a0664393925aa524a35d7d148c57d326f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0664393925aa524a35d7d148c57d326f">DoBacktrackingLineSearch</a> (bool skip_first_trial_point, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> &amp;alpha_primal, bool &amp;corr_taken, bool &amp;soc_taken, <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> &amp;n_steps, bool &amp;evaluation_error, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;actual_delta)</td></tr>
<tr class="memdesc:a0664393925aa524a35d7d148c57d326f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method performing the backtracking line search.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0664393925aa524a35d7d148c57d326f">More...</a><br /></td></tr>
<tr class="separator:a0664393925aa524a35d7d148c57d326f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add504b47a711ae5f566da19a69721a9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#add504b47a711ae5f566da19a69721a9c">StartWatchDog</a> ()</td></tr>
<tr class="memdesc:add504b47a711ae5f566da19a69721a9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for starting the watch dog.  <a href="classIpopt_1_1BacktrackingLineSearch.html#add504b47a711ae5f566da19a69721a9c">More...</a><br /></td></tr>
<tr class="separator:add504b47a711ae5f566da19a69721a9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dcddc7c29025f5be8e9f1d6be627990"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a6dcddc7c29025f5be8e9f1d6be627990">StopWatchDog</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;actual_delta)</td></tr>
<tr class="memdesc:a6dcddc7c29025f5be8e9f1d6be627990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for stopping the watch dog.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a6dcddc7c29025f5be8e9f1d6be627990">More...</a><br /></td></tr>
<tr class="separator:a6dcddc7c29025f5be8e9f1d6be627990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c281f4b42c3a99ce411fecf7d37d3c5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0c281f4b42c3a99ce411fecf7d37d3c5">CheckAcceptabilityOfTrialPoint</a> (<a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_primal)</td></tr>
<tr class="memdesc:a0c281f4b42c3a99ce411fecf7d37d3c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for checking if current trial point is acceptable.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0c281f4b42c3a99ce411fecf7d37d3c5">More...</a><br /></td></tr>
<tr class="separator:a0c281f4b42c3a99ce411fecf7d37d3c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a681bd2046268b6d2b0ea6fa6d7c7112a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a681bd2046268b6d2b0ea6fa6d7c7112a">PerformDualStep</a> (<a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_primal, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_dual, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;delta)</td></tr>
<tr class="memdesc:a681bd2046268b6d2b0ea6fa6d7c7112a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for setting the dual variables in the trial fields in IpData, given the search direction.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a681bd2046268b6d2b0ea6fa6d7c7112a">More...</a><br /></td></tr>
<tr class="separator:a681bd2046268b6d2b0ea6fa6d7c7112a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c3e6ee2229bf0a78db1b1ac579afcfd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a2c3e6ee2229bf0a78db1b1ac579afcfd">TrySoftRestoStep</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;actual_delta, bool &amp;satisfies_original_criterion)</td></tr>
<tr class="memdesc:a2c3e6ee2229bf0a78db1b1ac579afcfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try a step for the soft restoration phase and check if it is acceptable.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a2c3e6ee2229bf0a78db1b1ac579afcfd">More...</a><br /></td></tr>
<tr class="separator:a2c3e6ee2229bf0a78db1b1ac579afcfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a374998bd8e0460a94479e6f02969af51"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a374998bd8e0460a94479e6f02969af51">TrySecondOrderCorrection</a> (<a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_primal_test, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> &amp;alpha_primal, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;actual_delta)</td></tr>
<tr class="memdesc:a374998bd8e0460a94479e6f02969af51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try a second order correction for the constraints.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a374998bd8e0460a94479e6f02969af51">More...</a><br /></td></tr>
<tr class="separator:a374998bd8e0460a94479e6f02969af51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b4cb70705cddf8421b78cb8bfc800e5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a6b4cb70705cddf8421b78cb8bfc800e5">TryCorrector</a> (<a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_primal_test, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> &amp;alpha_primal, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;actual_delta)</td></tr>
<tr class="memdesc:a6b4cb70705cddf8421b78cb8bfc800e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try higher order corrector (for fast local convergence).  <a href="classIpopt_1_1BacktrackingLineSearch.html#a6b4cb70705cddf8421b78cb8bfc800e5">More...</a><br /></td></tr>
<tr class="separator:a6b4cb70705cddf8421b78cb8bfc800e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab980414da05e0ad58a43f2de1f77c86f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ab980414da05e0ad58a43f2de1f77c86f">PerformMagicStep</a> ()</td></tr>
<tr class="memdesc:ab980414da05e0ad58a43f2de1f77c86f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform magic steps.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ab980414da05e0ad58a43f2de1f77c86f">More...</a><br /></td></tr>
<tr class="separator:ab980414da05e0ad58a43f2de1f77c86f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ccaef74d4e2231b009ea0c922e5fac0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a2ccaef74d4e2231b009ea0c922e5fac0">DetectTinyStep</a> ()</td></tr>
<tr class="memdesc:a2ccaef74d4e2231b009ea0c922e5fac0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detect if the search direction is too small.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a2ccaef74d4e2231b009ea0c922e5fac0">More...</a><br /></td></tr>
<tr class="separator:a2ccaef74d4e2231b009ea0c922e5fac0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f2a12ab54ee81a96e31f643fffdcf29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0f2a12ab54ee81a96e31f643fffdcf29">StoreAcceptablePoint</a> ()</td></tr>
<tr class="memdesc:a0f2a12ab54ee81a96e31f643fffdcf29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store current iterate as acceptable point.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0f2a12ab54ee81a96e31f643fffdcf29">More...</a><br /></td></tr>
<tr class="separator:a0f2a12ab54ee81a96e31f643fffdcf29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0a57f17d8646480bb31b424039bcb3b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#aa0a57f17d8646480bb31b424039bcb3b">RestoreAcceptablePoint</a> ()</td></tr>
<tr class="memdesc:aa0a57f17d8646480bb31b424039bcb3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore acceptable point into the current fields of IpData if found.  <a href="classIpopt_1_1BacktrackingLineSearch.html#aa0a57f17d8646480bb31b424039bcb3b">More...</a><br /></td></tr>
<tr class="separator:aa0a57f17d8646480bb31b424039bcb3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff5362ea5f0b6d960df66ae4425dc8c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#aff5362ea5f0b6d960df66ae4425dc8c1">CurrentIsAcceptable</a> ()</td></tr>
<tr class="memdesc:aff5362ea5f0b6d960df66ae4425dc8c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for determining if the current iterate is acceptable (in the sense of the acceptable_tol options).  <a href="classIpopt_1_1BacktrackingLineSearch.html#aff5362ea5f0b6d960df66ae4425dc8c1">More...</a><br /></td></tr>
<tr class="separator:aff5362ea5f0b6d960df66ae4425dc8c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Default Compiler Generated Methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>(Hidden to avoid implicit creation/calling).</p>
<p>These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. </p>
</div></td></tr>
<tr class="memitem:a93b1776fcd5e8b4ea7f90faa165b4f45"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a93b1776fcd5e8b4ea7f90faa165b4f45">BacktrackingLineSearch</a> (const <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html">BacktrackingLineSearch</a> &amp;)</td></tr>
<tr class="memdesc:a93b1776fcd5e8b4ea7f90faa165b4f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy Constructor.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a93b1776fcd5e8b4ea7f90faa165b4f45">More...</a><br /></td></tr>
<tr class="separator:a93b1776fcd5e8b4ea7f90faa165b4f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07607edbaa5f411ed25f62536e0fcfd6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a07607edbaa5f411ed25f62536e0fcfd6">operator=</a> (const <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html">BacktrackingLineSearch</a> &amp;)</td></tr>
<tr class="memdesc:a07607edbaa5f411ed25f62536e0fcfd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Assignment Operator.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a07607edbaa5f411ed25f62536e0fcfd6">More...</a><br /></td></tr>
<tr class="separator:a07607edbaa5f411ed25f62536e0fcfd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ab94812f5e40257514ab1aec07e52177f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ab94812f5e40257514ab1aec07e52177f">fallback_activated_</a></td></tr>
<tr class="memdesc:ab94812f5e40257514ab1aec07e52177f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether the algorithm has asked to immediately switch to the fallback mechanism (restoration phase)  <a href="classIpopt_1_1BacktrackingLineSearch.html#ab94812f5e40257514ab1aec07e52177f">More...</a><br /></td></tr>
<tr class="separator:ab94812f5e40257514ab1aec07e52177f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81cc850183ffef4215927545b8fe8451"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a81cc850183ffef4215927545b8fe8451">rigorous_</a></td></tr>
<tr class="memdesc:a81cc850183ffef4215927545b8fe8451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether the line search is to be performed robust (usually this is true, unless SetRigorousLineSearch is called with false).  <a href="classIpopt_1_1BacktrackingLineSearch.html#a81cc850183ffef4215927545b8fe8451">More...</a><br /></td></tr>
<tr class="separator:a81cc850183ffef4215927545b8fe8451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a230010424c04fede3703cd3bfb231b84"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a230010424c04fede3703cd3bfb231b84">skipped_line_search_</a></td></tr>
<tr class="memdesc:a230010424c04fede3703cd3bfb231b84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether no acceptable trial point was found during last line search.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a230010424c04fede3703cd3bfb231b84">More...</a><br /></td></tr>
<tr class="separator:a230010424c04fede3703cd3bfb231b84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24c624a14bc4ccdcc770c263cc9d8c04"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a24c624a14bc4ccdcc770c263cc9d8c04">in_soft_resto_phase_</a></td></tr>
<tr class="memdesc:a24c624a14bc4ccdcc770c263cc9d8c04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether we are currently in the "soft" restoration phase mode, in which steps are accepted if they reduce the optimality error (see soft_resto_pderror_reduction_factor)  <a href="classIpopt_1_1BacktrackingLineSearch.html#a24c624a14bc4ccdcc770c263cc9d8c04">More...</a><br /></td></tr>
<tr class="separator:a24c624a14bc4ccdcc770c263cc9d8c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a9aef439eaf4eccf1fc07a8e19d364"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae0a9aef439eaf4eccf1fc07a8e19d364">soft_resto_counter_</a></td></tr>
<tr class="memdesc:ae0a9aef439eaf4eccf1fc07a8e19d364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter for iteration performed in soft restoration phase in a row.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ae0a9aef439eaf4eccf1fc07a8e19d364">More...</a><br /></td></tr>
<tr class="separator:ae0a9aef439eaf4eccf1fc07a8e19d364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c08b213efd298ed6d20dbc007b47b78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a4c08b213efd298ed6d20dbc007b47b78">count_successive_shortened_steps_</a></td></tr>
<tr class="memdesc:a4c08b213efd298ed6d20dbc007b47b78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter for the number of successive iterations in which the full step was not accepted.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a4c08b213efd298ed6d20dbc007b47b78">More...</a><br /></td></tr>
<tr class="separator:a4c08b213efd298ed6d20dbc007b47b78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97baaa7143dc897d938ce17396f9cdd4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a97baaa7143dc897d938ce17396f9cdd4">tiny_step_last_iteration_</a></td></tr>
<tr class="memdesc:a97baaa7143dc897d938ce17396f9cdd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating if a tiny step was detected in previous iteration.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a97baaa7143dc897d938ce17396f9cdd4">More...</a><br /></td></tr>
<tr class="separator:a97baaa7143dc897d938ce17396f9cdd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Information related to watchdog procedure</div></td></tr>
<tr class="memitem:ac5d32f743008b1502e5fec7e6b2e14de"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ac5d32f743008b1502e5fec7e6b2e14de">in_watchdog_</a></td></tr>
<tr class="memdesc:ac5d32f743008b1502e5fec7e6b2e14de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating if the watchdog is active.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ac5d32f743008b1502e5fec7e6b2e14de">More...</a><br /></td></tr>
<tr class="separator:ac5d32f743008b1502e5fec7e6b2e14de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adea2af8bab8d7d4622c2bff850eeba2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#adea2af8bab8d7d4622c2bff850eeba2e">watchdog_shortened_iter_</a></td></tr>
<tr class="memdesc:adea2af8bab8d7d4622c2bff850eeba2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter for shortened iterations.  <a href="classIpopt_1_1BacktrackingLineSearch.html#adea2af8bab8d7d4622c2bff850eeba2e">More...</a><br /></td></tr>
<tr class="separator:adea2af8bab8d7d4622c2bff850eeba2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef1f76580d7f61409d51543a225741e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#aef1f76580d7f61409d51543a225741e8">watchdog_trial_iter_</a></td></tr>
<tr class="memdesc:aef1f76580d7f61409d51543a225741e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter for watch dog iterations.  <a href="classIpopt_1_1BacktrackingLineSearch.html#aef1f76580d7f61409d51543a225741e8">More...</a><br /></td></tr>
<tr class="separator:aef1f76580d7f61409d51543a225741e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a780e2f8a40f2d8455161cb9769fb9413"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a780e2f8a40f2d8455161cb9769fb9413">watchdog_alpha_primal_test_</a></td></tr>
<tr class="memdesc:a780e2f8a40f2d8455161cb9769fb9413"><td class="mdescLeft">&#160;</td><td class="mdescRight">Step size for Armijo test in watch dog.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a780e2f8a40f2d8455161cb9769fb9413">More...</a><br /></td></tr>
<tr class="separator:a780e2f8a40f2d8455161cb9769fb9413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8ce6ef6cc67e510317d3777e9614381"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ad8ce6ef6cc67e510317d3777e9614381">watchdog_iterate_</a></td></tr>
<tr class="memdesc:ad8ce6ef6cc67e510317d3777e9614381"><td class="mdescLeft">&#160;</td><td class="mdescRight">Watchdog reference iterate.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ad8ce6ef6cc67e510317d3777e9614381">More...</a><br /></td></tr>
<tr class="separator:ad8ce6ef6cc67e510317d3777e9614381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a037591f11f038769ac88ef43d360a3bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a037591f11f038769ac88ef43d360a3bb">watchdog_delta_</a></td></tr>
<tr class="memdesc:a037591f11f038769ac88ef43d360a3bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Watchdog search direction at reference point.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a037591f11f038769ac88ef43d360a3bb">More...</a><br /></td></tr>
<tr class="separator:a037591f11f038769ac88ef43d360a3bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d2ca9b278586381e9607982279f1229"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0d2ca9b278586381e9607982279f1229">last_mu_</a></td></tr>
<tr class="memdesc:a0d2ca9b278586381e9607982279f1229"><td class="mdescLeft">&#160;</td><td class="mdescRight">Barrier parameter value during last line search.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0d2ca9b278586381e9607982279f1229">More...</a><br /></td></tr>
<tr class="separator:a0d2ca9b278586381e9607982279f1229"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Storage for last iterate that satisfies the acceptable</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>level of optimality error. </p>
</div></td></tr>
<tr class="memitem:a6b76b5574fa98b85acbea641df71d148"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a6b76b5574fa98b85acbea641df71d148">acceptable_iterate_</a></td></tr>
<tr class="separator:a6b76b5574fa98b85acbea641df71d148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64e18798885f79f7b0952ac51ab5470b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a64e18798885f79f7b0952ac51ab5470b">acceptable_iteration_number_</a></td></tr>
<tr class="separator:a64e18798885f79f7b0952ac51ab5470b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Strategy objective that are used</div></td></tr>
<tr class="memitem:a8704605077f8fd05aebaa46061a1075a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1BacktrackingLSAcceptor.html">BacktrackingLSAcceptor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a8704605077f8fd05aebaa46061a1075a">acceptor_</a></td></tr>
<tr class="separator:a8704605077f8fd05aebaa46061a1075a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada2890e814f72f72556b43dc50630a9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RestorationPhase.html">RestorationPhase</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ada2890e814f72f72556b43dc50630a9f">resto_phase_</a></td></tr>
<tr class="separator:ada2890e814f72f72556b43dc50630a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b01e6a4860c4576b2786b442611bd28"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a2b01e6a4860c4576b2786b442611bd28">conv_check_</a></td></tr>
<tr class="separator:a2b01e6a4860c4576b2786b442611bd28"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Parameters for the filter algorithm.</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6fba3dd998f975680f8aca7db2561205"></a>Names as in the paper. </p>
</td></tr>
<tr class="memitem:ae9d8ec4ddb8172cf67f7556a8a0e394e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394e">AlphaForYEnum</a> { <br />
&#160;&#160;<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea9db45138a953c31da0ccf8f657a538a6">PRIMAL_ALPHA_FOR_Y</a> = 0, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea4451ba2942338923858c62540a18e8f1">DUAL_ALPHA_FOR_Y</a>, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea9f2b34fd62ff49ab54fc23e3d65592a0">MIN_ALPHA_FOR_Y</a>, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea8aabbe6e182dcc126c5ba8e2d8c7e222">MAX_ALPHA_FOR_Y</a>, 
<br />
&#160;&#160;<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea9723643f00ee069f9594516fc2d3e57f">FULL_STEP_FOR_Y</a>, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394eaa57c6dd2e8115e8edc0423ec8b115d8b">MIN_DUAL_INFEAS_ALPHA_FOR_Y</a>, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea387f4270c1094aea5aafd130c23db0de">SAFE_MIN_DUAL_INFEAS_ALPHA_FOR_Y</a>, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394eaca8be5f966689ed34f45a5c6ca5476ee">PRIMAL_AND_FULL_ALPHA_FOR_Y</a>, 
<br />
&#160;&#160;<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea402f71193b6ae8ad18f38d57a9fdea8b">DUAL_AND_FULL_ALPHA_FOR_Y</a>, 
<a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394ea0c82d77a42ab9e5785cdc800fa65f2c8">LSACCEPTOR_ALPHA_FOR_Y</a>
<br />
 }</td></tr>
<tr class="memdesc:ae9d8ec4ddb8172cf67f7556a8a0e394e"><td class="mdescLeft">&#160;</td><td class="mdescRight">enumeration for the different alpha_for_y_ settings  <a href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394e">More...</a><br /></td></tr>
<tr class="separator:ae9d8ec4ddb8172cf67f7556a8a0e394e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0af4203f2e7dcbecad061b6d553e607a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0af4203f2e7dcbecad061b6d553e607a">alpha_red_factor_</a></td></tr>
<tr class="memdesc:a0af4203f2e7dcbecad061b6d553e607a"><td class="mdescLeft">&#160;</td><td class="mdescRight">factor by which search direction is to be shortened if trial point is rejected.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0af4203f2e7dcbecad061b6d553e607a">More...</a><br /></td></tr>
<tr class="separator:a0af4203f2e7dcbecad061b6d553e607a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4765d59b9351a2d23794809cb436d6b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394e">AlphaForYEnum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a4765d59b9351a2d23794809cb436d6b6">alpha_for_y_</a></td></tr>
<tr class="memdesc:a4765d59b9351a2d23794809cb436d6b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether the dual step size is to be used for the equality constraint multipliers.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a4765d59b9351a2d23794809cb436d6b6">More...</a><br /></td></tr>
<tr class="separator:a4765d59b9351a2d23794809cb436d6b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a449f109862471d3e714ecdfed5f16c6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a449f109862471d3e714ecdfed5f16c6e">alpha_for_y_tol_</a></td></tr>
<tr class="memdesc:a449f109862471d3e714ecdfed5f16c6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tolerance for primal step to switch to full equality constraint multiplier steps.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a449f109862471d3e714ecdfed5f16c6e">More...</a><br /></td></tr>
<tr class="separator:a449f109862471d3e714ecdfed5f16c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47683f506ec4c3e060bbb0ca73150c01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a47683f506ec4c3e060bbb0ca73150c01">soft_resto_pderror_reduction_factor_</a></td></tr>
<tr class="memdesc:a47683f506ec4c3e060bbb0ca73150c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduction factor for the restoration phase that accepts steps reducing the optimality error ("soft restoration phase").  <a href="classIpopt_1_1BacktrackingLineSearch.html#a47683f506ec4c3e060bbb0ca73150c01">More...</a><br /></td></tr>
<tr class="separator:a47683f506ec4c3e060bbb0ca73150c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfcb7c7e44ce668450205200b43cf535"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#adfcb7c7e44ce668450205200b43cf535">max_soft_resto_iters_</a></td></tr>
<tr class="memdesc:adfcb7c7e44ce668450205200b43cf535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximal number of iterations that can be done in the soft iteration phase before the algorithm reverts to the regular restoration phase.  <a href="classIpopt_1_1BacktrackingLineSearch.html#adfcb7c7e44ce668450205200b43cf535">More...</a><br /></td></tr>
<tr class="separator:adfcb7c7e44ce668450205200b43cf535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceea0172636d2ce7d3db443d0642e021"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#aceea0172636d2ce7d3db443d0642e021">magic_steps_</a></td></tr>
<tr class="memdesc:aceea0172636d2ce7d3db443d0642e021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether magic steps should be used.  <a href="classIpopt_1_1BacktrackingLineSearch.html#aceea0172636d2ce7d3db443d0642e021">More...</a><br /></td></tr>
<tr class="separator:aceea0172636d2ce7d3db443d0642e021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64621cbfadd99871d44255cb8f6c3ba0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a64621cbfadd99871d44255cb8f6c3ba0">accept_every_trial_step_</a></td></tr>
<tr class="memdesc:a64621cbfadd99871d44255cb8f6c3ba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether the line search should always accept the full (fraction-to-the-boundary) step.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a64621cbfadd99871d44255cb8f6c3ba0">More...</a><br /></td></tr>
<tr class="separator:a64621cbfadd99871d44255cb8f6c3ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c93df9a9a05bd6563467f4d66583984"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a2c93df9a9a05bd6563467f4d66583984">accept_after_max_steps_</a></td></tr>
<tr class="memdesc:a2c93df9a9a05bd6563467f4d66583984"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximal number of trial steps before we blindly accept trial point.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a2c93df9a9a05bd6563467f4d66583984">More...</a><br /></td></tr>
<tr class="separator:a2c93df9a9a05bd6563467f4d66583984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ddc1224218792a2ae2c78df3a359092"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a4ddc1224218792a2ae2c78df3a359092">expect_infeasible_problem_</a></td></tr>
<tr class="memdesc:a4ddc1224218792a2ae2c78df3a359092"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether problem can be expected to be infeasible.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a4ddc1224218792a2ae2c78df3a359092">More...</a><br /></td></tr>
<tr class="separator:a4ddc1224218792a2ae2c78df3a359092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd0c9b482b2796dcb75ba5949ddd3fe7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#abd0c9b482b2796dcb75ba5949ddd3fe7">expect_infeasible_problem_ctol_</a></td></tr>
<tr class="memdesc:abd0c9b482b2796dcb75ba5949ddd3fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tolerance on constraint violation for expect_infeasible_problem heuristic.  <a href="classIpopt_1_1BacktrackingLineSearch.html#abd0c9b482b2796dcb75ba5949ddd3fe7">More...</a><br /></td></tr>
<tr class="separator:abd0c9b482b2796dcb75ba5949ddd3fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae052b3d5a240ff2a049c743b440de5be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae052b3d5a240ff2a049c743b440de5be">expect_infeasible_problem_ytol_</a></td></tr>
<tr class="memdesc:ae052b3d5a240ff2a049c743b440de5be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trigger tolerance on constraint multipliers.  <a href="classIpopt_1_1BacktrackingLineSearch.html#ae052b3d5a240ff2a049c743b440de5be">More...</a><br /></td></tr>
<tr class="separator:ae052b3d5a240ff2a049c743b440de5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a109c03e0c4e11acbbf4f211ab3b2fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0a109c03e0c4e11acbbf4f211ab3b2fa">tiny_step_tol_</a></td></tr>
<tr class="memdesc:a0a109c03e0c4e11acbbf4f211ab3b2fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tolerance for detecting tiny steps.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a0a109c03e0c4e11acbbf4f211ab3b2fa">More...</a><br /></td></tr>
<tr class="separator:a0a109c03e0c4e11acbbf4f211ab3b2fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05c4c1509b18c53aa1e739bb6a0e5a33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a05c4c1509b18c53aa1e739bb6a0e5a33">tiny_step_y_tol_</a></td></tr>
<tr class="memdesc:a05c4c1509b18c53aa1e739bb6a0e5a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tolerance for y variables for the tiny step stopping heuristic.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a05c4c1509b18c53aa1e739bb6a0e5a33">More...</a><br /></td></tr>
<tr class="separator:a05c4c1509b18c53aa1e739bb6a0e5a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2573e011f4b9da65c895dcfdec0efb01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a2573e011f4b9da65c895dcfdec0efb01">watchdog_trial_iter_max_</a></td></tr>
<tr class="memdesc:a2573e011f4b9da65c895dcfdec0efb01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of watch dog trial steps.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a2573e011f4b9da65c895dcfdec0efb01">More...</a><br /></td></tr>
<tr class="separator:a2573e011f4b9da65c895dcfdec0efb01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05b2940462cda38956029887f80c70b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a05b2940462cda38956029887f80c70b1">watchdog_shortened_iter_trigger_</a></td></tr>
<tr class="memdesc:a05b2940462cda38956029887f80c70b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of shortened iterations that trigger the watchdog.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a05b2940462cda38956029887f80c70b1">More...</a><br /></td></tr>
<tr class="separator:a05b2940462cda38956029887f80c70b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2863b0f7ba168bd21b3a42fa004e20b4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a2863b0f7ba168bd21b3a42fa004e20b4">start_with_resto_</a></td></tr>
<tr class="memdesc:a2863b0f7ba168bd21b3a42fa004e20b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether the algorithm should start directly with the restoration phase.  <a href="classIpopt_1_1BacktrackingLineSearch.html#a2863b0f7ba168bd21b3a42fa004e20b4">More...</a><br /></td></tr>
<tr class="separator:a2863b0f7ba168bd21b3a42fa004e20b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1976e93763eb416e335a900c66ac67e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a1976e93763eb416e335a900c66ac67e4">constr_viol_tol_</a></td></tr>
<tr class="memdesc:a1976e93763eb416e335a900c66ac67e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">unscaled constraint violation tolerance  <a href="classIpopt_1_1BacktrackingLineSearch.html#a1976e93763eb416e335a900c66ac67e4">More...</a><br /></td></tr>
<tr class="separator:a1976e93763eb416e335a900c66ac67e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classIpopt_1_1AlgorithmStrategyObject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">Ipopt::AlgorithmStrategyObject</a></td></tr>
<tr class="memitem:af33506203825c1679fdb8e3b02df0cd7 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#af33506203825c1679fdb8e3b02df0cd7">Jnlst</a> () const</td></tr>
<tr class="separator:af33506203825c1679fdb8e3b02df0cd7 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a151fb4b58f2186237b55d97af77ef7 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a2a151fb4b58f2186237b55d97af77ef7">IpNLP</a> () const</td></tr>
<tr class="separator:a2a151fb4b58f2186237b55d97af77ef7 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b39e20ef00543ac41de1e4bb8a75930 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a8b39e20ef00543ac41de1e4bb8a75930">IpData</a> () const</td></tr>
<tr class="separator:a8b39e20ef00543ac41de1e4bb8a75930 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa597d0c5c9f01cb0f3970f49fea8a730 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aa597d0c5c9f01cb0f3970f49fea8a730">IpCq</a> () const</td></tr>
<tr class="separator:aa597d0c5c9f01cb0f3970f49fea8a730 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6310084b90871ee4eec3d89bb407ee inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a5f6310084b90871ee4eec3d89bb407ee">HaveIpData</a> () const</td></tr>
<tr class="separator:a5f6310084b90871ee4eec3d89bb407ee inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>General implementation of a backtracking line search. </p>
<p>This class can be used to perform the filter line search procedure or other procedures. The <a class="el" href="classIpopt_1_1BacktrackingLSAcceptor.html" title="Base class for backtracking line search acceptors.">BacktrackingLSAcceptor</a> is used to determine whether trial points are acceptable (e.g., based on a filter or other methods).</p>
<p>This backtracking line search knows of a restoration phase (which is called when the trial step size becomes too small or no search direction could be computed). It also has the notion of a "soft restoration phase," which uses the regular steps but decides on the acceptability based on other measures than the regular ones (e.g., reduction of the PD error instead of acceptability to a filter mechanism). </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00035">35</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ae9d8ec4ddb8172cf67f7556a8a0e394e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9d8ec4ddb8172cf67f7556a8a0e394e">&#9670;&nbsp;</a></span>AlphaForYEnum</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394e">Ipopt::BacktrackingLineSearch::AlphaForYEnum</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>enumeration for the different alpha_for_y_ settings </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea9db45138a953c31da0ccf8f657a538a6"></a>PRIMAL_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea4451ba2942338923858c62540a18e8f1"></a>DUAL_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea9f2b34fd62ff49ab54fc23e3d65592a0"></a>MIN_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea8aabbe6e182dcc126c5ba8e2d8c7e222"></a>MAX_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea9723643f00ee069f9594516fc2d3e57f"></a>FULL_STEP_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394eaa57c6dd2e8115e8edc0423ec8b115d8b"></a>MIN_DUAL_INFEAS_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea387f4270c1094aea5aafd130c23db0de"></a>SAFE_MIN_DUAL_INFEAS_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394eaca8be5f966689ed34f45a5c6ca5476ee"></a>PRIMAL_AND_FULL_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea402f71193b6ae8ad18f38d57a9fdea8b"></a>DUAL_AND_FULL_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ae9d8ec4ddb8172cf67f7556a8a0e394ea0c82d77a42ab9e5785cdc800fa65f2c8"></a>LSACCEPTOR_ALPHA_FOR_Y&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00299">299</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a37bff08e3b57b8cefd2dc1b8bcfc3a89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37bff08e3b57b8cefd2dc1b8bcfc3a89">&#9670;&nbsp;</a></span>BacktrackingLineSearch() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::BacktrackingLineSearch::BacktrackingLineSearch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1BacktrackingLSAcceptor.html">BacktrackingLSAcceptor</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>acceptor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RestorationPhase.html">RestorationPhase</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>resto_phase</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>conv_check</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>The acceptor implements the acceptance test for the line search. The <a class="el" href="classIpopt_1_1ConvergenceCheck.html" title="Base class for checking the algorithm termination criteria.">ConvergenceCheck</a> object is used to determine whether the current iterate is acceptable (for example, the restoration phase is not started if the acceptability level has been reached). If conv_check is NULL, we assume that the current iterate is not acceptable (in the sense of the acceptable_tol option). </p>

</div>
</div>
<a id="a7b08bac93f971abcf854b9d8c97eb304"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b08bac93f971abcf854b9d8c97eb304">&#9670;&nbsp;</a></span>~BacktrackingLineSearch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Ipopt::BacktrackingLineSearch::~BacktrackingLineSearch </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<a id="a93b1776fcd5e8b4ea7f90faa165b4f45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93b1776fcd5e8b4ea7f90faa165b4f45">&#9670;&nbsp;</a></span>BacktrackingLineSearch() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::BacktrackingLineSearch::BacktrackingLineSearch </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html">BacktrackingLineSearch</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy Constructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae8f08335c6bc1e52057c3ae4f33988a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8f08335c6bc1e52057c3ae4f33988a9">&#9670;&nbsp;</a></span>InitializeImpl()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::BacktrackingLineSearch::InitializeImpl </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>InitializeImpl - overloaded from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects.">AlgorithmStrategyObject</a>. </p>

<p>Implements <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a6e5ef59a257a61c928515ea78fd5c148">Ipopt::AlgorithmStrategyObject</a>.</p>

</div>
</div>
<a id="a0ff9e255c5d3621ff68abbe97393f2eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ff9e255c5d3621ff68abbe97393f2eb">&#9670;&nbsp;</a></span>FindAcceptableTrialPoint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::BacktrackingLineSearch::FindAcceptableTrialPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Perform the line search. </p>
<p>It is assumed that the search direction is computed in the data object. </p>

<p>Implements <a class="el" href="classIpopt_1_1LineSearch.html#ad0913502718f88b85dc4af3c4e58eaf1">Ipopt::LineSearch</a>.</p>

</div>
</div>
<a id="ac5f93da335cb0a2d7d2eb324664839a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f93da335cb0a2d7d2eb324664839a9">&#9670;&nbsp;</a></span>Reset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::BacktrackingLineSearch::Reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reset the line search. </p>
<p>This function should be called if all previous information should be discarded when the line search is performed the next time. For example, this method should be called if the barrier parameter is changed. </p>

<p>Implements <a class="el" href="classIpopt_1_1LineSearch.html#ad33f5703834e99614d2eace2846ac5c0">Ipopt::LineSearch</a>.</p>

</div>
</div>
<a id="a37b965f5bab43374dd0333edbaa7dc65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37b965f5bab43374dd0333edbaa7dc65">&#9670;&nbsp;</a></span>SetRigorousLineSearch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::BacktrackingLineSearch::SetRigorousLineSearch </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>rigorous</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set flag indicating whether a very rigorous line search should be performed. </p>
<p>If this flag is set to true, the line search algorithm might decide to abort the line search and not to accept a new iterate. If the line search decided not to accept a new iterate, the return value of <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ad3aa80c41e50b2e095f0a29d38aac8fa" title="Check if the line search procedure didn&#39;t accept a new iterate during the last call of FindAcceptable...">CheckSkippedLineSearch()</a> is true at the next call. For example, in the non-monotone barrier parameter update procedure, the filter algorithm should not switch to the restoration phase in the free mode; instead, the algorithm should switch to the fixed mode. </p>

<p>Implements <a class="el" href="classIpopt_1_1LineSearch.html#abe044f75d7c5d0ad79a58ddc3b4aab23">Ipopt::LineSearch</a>.</p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00094">94</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ad3aa80c41e50b2e095f0a29d38aac8fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3aa80c41e50b2e095f0a29d38aac8fa">&#9670;&nbsp;</a></span>CheckSkippedLineSearch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::BacktrackingLineSearch::CheckSkippedLineSearch </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if the line search procedure didn't accept a new iterate during the last call of <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#a0ff9e255c5d3621ff68abbe97393f2eb" title="Perform the line search.">FindAcceptableTrialPoint()</a>. </p>

<p>Implements <a class="el" href="classIpopt_1_1LineSearch.html#a129fe1f77e892e9baf6a1565280afa48">Ipopt::LineSearch</a>.</p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00104">104</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="adf4d14f8c923f279b2f62163473e1ff9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf4d14f8c923f279b2f62163473e1ff9">&#9670;&nbsp;</a></span>ActivateFallbackMechanism()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::BacktrackingLineSearch::ActivateFallbackMechanism </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Activate fallback mechanism. </p>
<dl class="section return"><dt>Returns</dt><dd>false, if that is not possible. </dd></dl>

<p>Implements <a class="el" href="classIpopt_1_1LineSearch.html#a6b2653f6e6a17c3d909b2868c772d752">Ipopt::LineSearch</a>.</p>

</div>
</div>
<a id="a67f2116a46935214b58e2d6843f17b75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67f2116a46935214b58e2d6843f17b75">&#9670;&nbsp;</a></span>StopWatchDog() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::StopWatchDog </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stop watch dog if started and restore iterate from before watchdog started. </p>
<p>This method is intended to be called if <a class="el" href="namespaceIpopt.html" title="This file contains a base class for all exceptions and a set of macros to help with exceptions.">Ipopt</a> is interrupted during the watchdog pahase. </p><dl class="section since"><dt>Since</dt><dd>3.14.0 </dd></dl>

</div>
</div>
<a id="a8bf0859cf762f870bf270f0c4c87c8fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bf0859cf762f870bf270f0c4c87c8fa">&#9670;&nbsp;</a></span>RegisterOptions()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void Ipopt::BacktrackingLineSearch::RegisterOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RegisteredOptions.html">RegisteredOptions</a> &gt;&#160;</td>
          <td class="paramname"><em>roptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Methods for <a class="el" href="classIpopt_1_1OptionsList.html" title="This class stores a list of user set options.">OptionsList</a>. </p>

</div>
</div>
<a id="a07607edbaa5f411ed25f62536e0fcfd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07607edbaa5f411ed25f62536e0fcfd6">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1BacktrackingLineSearch.html">BacktrackingLineSearch</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Assignment Operator. </p>

</div>
</div>
<a id="a0664393925aa524a35d7d148c57d326f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0664393925aa524a35d7d148c57d326f">&#9670;&nbsp;</a></span>DoBacktrackingLineSearch()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::DoBacktrackingLineSearch </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>skip_first_trial_point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> &amp;&#160;</td>
          <td class="paramname"><em>alpha_primal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>corr_taken</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>soc_taken</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> &amp;&#160;</td>
          <td class="paramname"><em>n_steps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>evaluation_error</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>actual_delta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method performing the backtracking line search. </p>
<p>If the watchdog is active, only one trial step is performed (and the trial values are set accordingly)</p>
<dl class="section return"><dt>Returns</dt><dd>indicates if the step acceptance criteria are met </dd></dl>

</div>
</div>
<a id="add504b47a711ae5f566da19a69721a9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add504b47a711ae5f566da19a69721a9c">&#9670;&nbsp;</a></span>StartWatchDog()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::StartWatchDog </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for starting the watch dog. </p>
<p>Set all appropriate fields accordingly. </p>

</div>
</div>
<a id="a6dcddc7c29025f5be8e9f1d6be627990"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dcddc7c29025f5be8e9f1d6be627990">&#9670;&nbsp;</a></span>StopWatchDog() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::StopWatchDog </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>actual_delta</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for stopping the watch dog. </p>
<p>Set all appropriate fields accordingly. </p>

</div>
</div>
<a id="a0c281f4b42c3a99ce411fecf7d37d3c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c281f4b42c3a99ce411fecf7d37d3c5">&#9670;&nbsp;</a></span>CheckAcceptabilityOfTrialPoint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::CheckAcceptabilityOfTrialPoint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_primal</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for checking if current trial point is acceptable. </p>
<p>It is assumed that the delta information in ip_data is the search direction used in criteria. The primal trial point has to be set before the call. </p>

</div>
</div>
<a id="a681bd2046268b6d2b0ea6fa6d7c7112a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a681bd2046268b6d2b0ea6fa6d7c7112a">&#9670;&nbsp;</a></span>PerformDualStep()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::PerformDualStep </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_primal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_dual</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>delta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for setting the dual variables in the trial fields in IpData, given the search direction. </p>
<p>The step size for the bound multipliers is alpha_dual (the fraction-to-the-boundary step size), and the step size for the equality constraint multipliers depends on the choice of alpha_for_y. </p>

</div>
</div>
<a id="a2c3e6ee2229bf0a78db1b1ac579afcfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c3e6ee2229bf0a78db1b1ac579afcfd">&#9670;&nbsp;</a></span>TrySoftRestoStep()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::TrySoftRestoStep </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>actual_delta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>satisfies_original_criterion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Try a step for the soft restoration phase and check if it is acceptable. </p>
<p>The step size is identical for all variables. A point is accepted if it is acceptable for the original acceptability criterion (in which case satisfies_original_criterion = true on return), or if the primal-dual system error was decrease by at least the factor soft_resto_pderror_reduction_factor_. The return value is true, if the trial point was acceptable for the soft restoration phase. </p>

</div>
</div>
<a id="a374998bd8e0460a94479e6f02969af51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a374998bd8e0460a94479e6f02969af51">&#9670;&nbsp;</a></span>TrySecondOrderCorrection()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::TrySecondOrderCorrection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_primal_test</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> &amp;&#160;</td>
          <td class="paramname"><em>alpha_primal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>actual_delta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Try a second order correction for the constraints. </p>
<p>If the first trial step (with incoming alpha_primal) has been reject, this tries up to max_soc_ second order corrections for the constraints. Here, alpha_primal_test is the step size that has to be used in the filter acceptance tests. On output actual_delta_... has been set to the steps including the second order correction if it has been accepted, otherwise it is unchanged. If the SOC step has been accepted, alpha_primal has the fraction-to-the-boundary value for the SOC step on output. The return value is true, if an SOC step has been accepted. </p>

</div>
</div>
<a id="a6b4cb70705cddf8421b78cb8bfc800e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b4cb70705cddf8421b78cb8bfc800e5">&#9670;&nbsp;</a></span>TryCorrector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::TryCorrector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_primal_test</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> &amp;&#160;</td>
          <td class="paramname"><em>alpha_primal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>actual_delta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Try higher order corrector (for fast local convergence). </p>
<p>In contrast to a second order correction step, which tries to make an unacceptable point acceptable by improving constraint violation, this corrector step is tried even if the regular primal-dual step is acceptable. </p>

</div>
</div>
<a id="ab980414da05e0ad58a43f2de1f77c86f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab980414da05e0ad58a43f2de1f77c86f">&#9670;&nbsp;</a></span>PerformMagicStep()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::PerformMagicStep </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Perform magic steps. </p>
<p>Take the current values of the slacks in trial and replace them by better ones that lead to smaller values of the barrier function and less constraint violation. </p>

</div>
</div>
<a id="a2ccaef74d4e2231b009ea0c922e5fac0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ccaef74d4e2231b009ea0c922e5fac0">&#9670;&nbsp;</a></span>DetectTinyStep()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::DetectTinyStep </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Detect if the search direction is too small. </p>
<p>This should be true if the search direction is so small that if makes numerically no difference. </p>

</div>
</div>
<a id="a0f2a12ab54ee81a96e31f643fffdcf29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f2a12ab54ee81a96e31f643fffdcf29">&#9670;&nbsp;</a></span>StoreAcceptablePoint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::BacktrackingLineSearch::StoreAcceptablePoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Store current iterate as acceptable point. </p>

</div>
</div>
<a id="aa0a57f17d8646480bb31b424039bcb3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0a57f17d8646480bb31b424039bcb3b">&#9670;&nbsp;</a></span>RestoreAcceptablePoint()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::RestoreAcceptablePoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restore acceptable point into the current fields of IpData if found. </p>
<dl class="section return"><dt>Returns</dt><dd>true, if such as point is available </dd></dl>

</div>
</div>
<a id="aff5362ea5f0b6d960df66ae4425dc8c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff5362ea5f0b6d960df66ae4425dc8c1">&#9670;&nbsp;</a></span>CurrentIsAcceptable()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::CurrentIsAcceptable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for determining if the current iterate is acceptable (in the sense of the acceptable_tol options). </p>
<p>This is a wrapper for same method from <a class="el" href="classIpopt_1_1ConvergenceCheck.html" title="Base class for checking the algorithm termination criteria.">ConvergenceCheck</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>false, if no <a class="el" href="classIpopt_1_1ConvergenceCheck.html" title="Base class for checking the algorithm termination criteria.">ConvergenceCheck</a> object is provided </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0af4203f2e7dcbecad061b6d553e607a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0af4203f2e7dcbecad061b6d553e607a">&#9670;&nbsp;</a></span>alpha_red_factor_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::alpha_red_factor_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>factor by which search direction is to be shortened if trial point is rejected. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00296">296</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a4765d59b9351a2d23794809cb436d6b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4765d59b9351a2d23794809cb436d6b6">&#9670;&nbsp;</a></span>alpha_for_y_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1BacktrackingLineSearch.html#ae9d8ec4ddb8172cf67f7556a8a0e394e">AlphaForYEnum</a> Ipopt::BacktrackingLineSearch::alpha_for_y_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether the dual step size is to be used for the equality constraint multipliers. </p>
<p>If 0, the primal step size is used, if 1 the dual step size, and if 2, the minimum of both. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00318">318</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a449f109862471d3e714ecdfed5f16c6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a449f109862471d3e714ecdfed5f16c6e">&#9670;&nbsp;</a></span>alpha_for_y_tol_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::alpha_for_y_tol_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tolerance for primal step to switch to full equality constraint multiplier steps. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00323">323</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a47683f506ec4c3e060bbb0ca73150c01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47683f506ec4c3e060bbb0ca73150c01">&#9670;&nbsp;</a></span>soft_resto_pderror_reduction_factor_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::soft_resto_pderror_reduction_factor_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reduction factor for the restoration phase that accepts steps reducing the optimality error ("soft restoration phase"). </p>
<p>If 0., then this restoration phase is not enabled. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00330">330</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="adfcb7c7e44ce668450205200b43cf535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfcb7c7e44ce668450205200b43cf535">&#9670;&nbsp;</a></span>max_soft_resto_iters_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::max_soft_resto_iters_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Maximal number of iterations that can be done in the soft iteration phase before the algorithm reverts to the regular restoration phase. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00335">335</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="aceea0172636d2ce7d3db443d0642e021"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aceea0172636d2ce7d3db443d0642e021">&#9670;&nbsp;</a></span>magic_steps_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::magic_steps_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether magic steps should be used. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00338">338</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a64621cbfadd99871d44255cb8f6c3ba0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64621cbfadd99871d44255cb8f6c3ba0">&#9670;&nbsp;</a></span>accept_every_trial_step_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::accept_every_trial_step_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether the line search should always accept the full (fraction-to-the-boundary) step. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00342">342</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a2c93df9a9a05bd6563467f4d66583984"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c93df9a9a05bd6563467f4d66583984">&#9670;&nbsp;</a></span>accept_after_max_steps_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::accept_after_max_steps_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Maximal number of trial steps before we blindly accept trial point. </p>
<p>If set to value other than -1, we accept a trial point even if it is not satisfying acceptance criteria. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00349">349</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a4ddc1224218792a2ae2c78df3a359092"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ddc1224218792a2ae2c78df3a359092">&#9670;&nbsp;</a></span>expect_infeasible_problem_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::expect_infeasible_problem_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Indicates whether problem can be expected to be infeasible. </p>
<p>This will trigger requesting a tighter reduction in infeasibility the first time the restoration phase is called. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00356">356</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="abd0c9b482b2796dcb75ba5949ddd3fe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd0c9b482b2796dcb75ba5949ddd3fe7">&#9670;&nbsp;</a></span>expect_infeasible_problem_ctol_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::expect_infeasible_problem_ctol_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tolerance on constraint violation for expect_infeasible_problem heuristic. </p>
<p>If the constraint violation becomes that than this value, the heuristic is disabled for the rest of the optimization run. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00364">364</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ae052b3d5a240ff2a049c743b440de5be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae052b3d5a240ff2a049c743b440de5be">&#9670;&nbsp;</a></span>expect_infeasible_problem_ytol_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::expect_infeasible_problem_ytol_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Trigger tolerance on constraint multipliers. </p>
<p>If expect_infeasible_problem is chosen, and the multipliers become larger in max-norm than this value, the restoration phase is triggered. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00371">371</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a0a109c03e0c4e11acbbf4f211ab3b2fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a109c03e0c4e11acbbf4f211ab3b2fa">&#9670;&nbsp;</a></span>tiny_step_tol_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::tiny_step_tol_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tolerance for detecting tiny steps. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00374">374</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a05c4c1509b18c53aa1e739bb6a0e5a33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05c4c1509b18c53aa1e739bb6a0e5a33">&#9670;&nbsp;</a></span>tiny_step_y_tol_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::tiny_step_y_tol_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tolerance for y variables for the tiny step stopping heuristic. </p>
<p>If repeatedly a tiny step is detected and the step in the y_c and y_d variables is less than this threshold, we algorithm will stop. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00383">383</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a2573e011f4b9da65c895dcfdec0efb01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2573e011f4b9da65c895dcfdec0efb01">&#9670;&nbsp;</a></span>watchdog_trial_iter_max_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::watchdog_trial_iter_max_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Number of watch dog trial steps. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00386">386</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a05b2940462cda38956029887f80c70b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05b2940462cda38956029887f80c70b1">&#9670;&nbsp;</a></span>watchdog_shortened_iter_trigger_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::watchdog_shortened_iter_trigger_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Number of shortened iterations that trigger the watchdog. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00388">388</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a2863b0f7ba168bd21b3a42fa004e20b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2863b0f7ba168bd21b3a42fa004e20b4">&#9670;&nbsp;</a></span>start_with_resto_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::start_with_resto_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Indicates whether the algorithm should start directly with the restoration phase. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00393">393</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a1976e93763eb416e335a900c66ac67e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1976e93763eb416e335a900c66ac67e4">&#9670;&nbsp;</a></span>constr_viol_tol_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::constr_viol_tol_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>unscaled constraint violation tolerance </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00396">396</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ac5d32f743008b1502e5fec7e6b2e14de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5d32f743008b1502e5fec7e6b2e14de">&#9670;&nbsp;</a></span>in_watchdog_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::in_watchdog_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating if the watchdog is active. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00402">402</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="adea2af8bab8d7d4622c2bff850eeba2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adea2af8bab8d7d4622c2bff850eeba2e">&#9670;&nbsp;</a></span>watchdog_shortened_iter_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::watchdog_shortened_iter_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Counter for shortened iterations. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00404">404</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="aef1f76580d7f61409d51543a225741e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef1f76580d7f61409d51543a225741e8">&#9670;&nbsp;</a></span>watchdog_trial_iter_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::watchdog_trial_iter_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Counter for watch dog iterations. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00406">406</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a780e2f8a40f2d8455161cb9769fb9413"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a780e2f8a40f2d8455161cb9769fb9413">&#9670;&nbsp;</a></span>watchdog_alpha_primal_test_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::watchdog_alpha_primal_test_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Step size for Armijo test in watch dog. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00408">408</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ad8ce6ef6cc67e510317d3777e9614381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8ce6ef6cc67e510317d3777e9614381">&#9670;&nbsp;</a></span>watchdog_iterate_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a>&gt; Ipopt::BacktrackingLineSearch::watchdog_iterate_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Watchdog reference iterate. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00410">410</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a037591f11f038769ac88ef43d360a3bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a037591f11f038769ac88ef43d360a3bb">&#9670;&nbsp;</a></span>watchdog_delta_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a>&gt; Ipopt::BacktrackingLineSearch::watchdog_delta_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Watchdog search direction at reference point. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00412">412</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a0d2ca9b278586381e9607982279f1229"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d2ca9b278586381e9607982279f1229">&#9670;&nbsp;</a></span>last_mu_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::BacktrackingLineSearch::last_mu_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Barrier parameter value during last line search. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00414">414</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a6b76b5574fa98b85acbea641df71d148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b76b5574fa98b85acbea641df71d148">&#9670;&nbsp;</a></span>acceptable_iterate_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a>&gt; Ipopt::BacktrackingLineSearch::acceptable_iterate_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00420">420</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a64e18798885f79f7b0952ac51ab5470b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64e18798885f79f7b0952ac51ab5470b">&#9670;&nbsp;</a></span>acceptable_iteration_number_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::acceptable_iteration_number_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00421">421</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ab94812f5e40257514ab1aec07e52177f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab94812f5e40257514ab1aec07e52177f">&#9670;&nbsp;</a></span>fallback_activated_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::fallback_activated_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether the algorithm has asked to immediately switch to the fallback mechanism (restoration phase) </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00427">427</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a81cc850183ffef4215927545b8fe8451"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81cc850183ffef4215927545b8fe8451">&#9670;&nbsp;</a></span>rigorous_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::rigorous_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether the line search is to be performed robust (usually this is true, unless SetRigorousLineSearch is called with false). </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00433">433</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a230010424c04fede3703cd3bfb231b84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a230010424c04fede3703cd3bfb231b84">&#9670;&nbsp;</a></span>skipped_line_search_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::skipped_line_search_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether no acceptable trial point was found during last line search. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00438">438</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a24c624a14bc4ccdcc770c263cc9d8c04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24c624a14bc4ccdcc770c263cc9d8c04">&#9670;&nbsp;</a></span>in_soft_resto_phase_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::in_soft_resto_phase_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether we are currently in the "soft" restoration phase mode, in which steps are accepted if they reduce the optimality error (see soft_resto_pderror_reduction_factor) </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00445">445</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ae0a9aef439eaf4eccf1fc07a8e19d364"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0a9aef439eaf4eccf1fc07a8e19d364">&#9670;&nbsp;</a></span>soft_resto_counter_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::soft_resto_counter_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Counter for iteration performed in soft restoration phase in a row. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00448">448</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a4c08b213efd298ed6d20dbc007b47b78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c08b213efd298ed6d20dbc007b47b78">&#9670;&nbsp;</a></span>count_successive_shortened_steps_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::BacktrackingLineSearch::count_successive_shortened_steps_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Counter for the number of successive iterations in which the full step was not accepted. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00453">453</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a97baaa7143dc897d938ce17396f9cdd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97baaa7143dc897d938ce17396f9cdd4">&#9670;&nbsp;</a></span>tiny_step_last_iteration_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Ipopt::BacktrackingLineSearch::tiny_step_last_iteration_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating if a tiny step was detected in previous iteration. </p>

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00456">456</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a8704605077f8fd05aebaa46061a1075a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8704605077f8fd05aebaa46061a1075a">&#9670;&nbsp;</a></span>acceptor_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1BacktrackingLSAcceptor.html">BacktrackingLSAcceptor</a>&gt; Ipopt::BacktrackingLineSearch::acceptor_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00460">460</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="ada2890e814f72f72556b43dc50630a9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada2890e814f72f72556b43dc50630a9f">&#9670;&nbsp;</a></span>resto_phase_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1RestorationPhase.html">RestorationPhase</a>&gt; Ipopt::BacktrackingLineSearch::resto_phase_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00461">461</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<a id="a2b01e6a4860c4576b2786b442611bd28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b01e6a4860c4576b2786b442611bd28">&#9670;&nbsp;</a></span>conv_check_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1ConvergenceCheck.html">ConvergenceCheck</a>&gt; Ipopt::BacktrackingLineSearch::conv_check_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html#l00462">462</a> of file <a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Algorithm/<a class="el" href="IpBacktrackingLineSearch_8hpp_source.html">IpBacktrackingLineSearch.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
